#唐门优测
#道长最帅666
""
import pytest
"""
fixture的调用方式
@pytest.fixture()

scope
用于控制fixture的作用范围
作用类似于pytest的setup/teardown
默认取值为function（函数级别），控制范围的排序为：session > module >class >function
function  函数级  每一个函数或方法都会调用
class 类级别 每个测试类只运行一次
module 模块级  每一个.py文件调用一次
session 会话级  每次会话只需要运行一次，会话内所有方法以及类，模块都共享这个方法

语法：@pytest.fixture()或者@pytest.fixture(scope="function")

"""
"场景一：做为参数传入"

class TestLogin:

    def test_001(self,login_1_1):
        print("001传入了login_1_1 fixture")

    def test_002(self,logout_1_1):
        print("002传入了logout_1_1 fixture")

    def test_003(self,login_1_1,logout_1_1):
        print("003传入了两个fixture")

    def test_004(self):
        print("004未传入任何fixture")

if __name__ == '__main__':
    pytest.main()
"从运行结果可以看出，fixture做为参数传入时，会在执行函数之前执行该fixture函数。" \
"再将值传入测试函数做为参数使用，这个场景多用于登录"
